package main.java;

import com.alibaba.fastjson.JSONArray;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class CommonTest {
    public static void main(String[] args) {
        // 示例用法
//        List<String> signNameList = Arrays.asList("sign1_Page1", "sign2_Page1", "sign3_Page1", "sign4_Page1");
//        List<String> inputSignProcess = Arrays.asList("sign5", "sign6");  // 你要检查的关键字
//
//        boolean containsAny = containsAnyElement(signNameList, inputSignProcess);
//
//        // 打印结果
//        System.out.println("signNameList contains any element from inputSignProcess: " + containsAny);



        String signFileNameStr = "[\"jldw_1-Page1\", \"onerdw_7-Page1\", \"sgdw_1-Page1\"]";

        // 定义一个 List，包含要检查的值
        List<String> filterList = Arrays.asList("jldw_1", "sgdw_1");

        // 判断 signFileNameStr 是否为空
        if (signFileNameStr != null ) {
            // 解析 signFileNameStr 为 List<String>
            List<String> strings = JSONArray.parseArray(signFileNameStr, String.class);

            // 过滤出包含 filterList 中任意元素的元素
            List<String> filteredStrings = strings.stream()
                    .filter(name -> filterList.stream().anyMatch(name::contains))
                    .collect(Collectors.toList());

            // 将过滤后的列表转换回 JSON 字符串
            String updatedSignFileNameStr = JSONArray.toJSONString(filteredStrings);

            // 设置新的 signFileNameStr
            // 假设你在循环内，可以调用 signPdfModel.setSignFiledNameStr(updatedSignFileNameStr);
            System.out.println(updatedSignFileNameStr);
        }
    }

    public static boolean containsAnyElement(List<String> signNameList, List<String> inputSignProcess) {
        // 遍历 signNameList，检查其中的每个元素是否包含 inputSignProcess 中的任何元素
        for (String sign : signNameList) {
            for (String keyword : inputSignProcess) {
                if (sign.contains(keyword)) {
                    return true; // 如果 signNameList 中的某个元素包含 inputSignProcess 中的关键字，返回 true
                }
            }
        }
        return false; // 如果没有找到任何匹配的元素，返回 false
    }
}